package com.vframework.system.user.service;

import java.util.List;
import java.util.Map;

import com.vframework.base.exception.BaseException;
import com.vframework.base.model.BaseBean;
import com.vframework.base.service.BaseService;
import com.vframework.system.user.model.UserBean;

public interface UserService extends BaseService {
	
	public Integer getCount(Map<String, Object> paramMap) throws BaseException;

	public List<UserBean> getUserList(Map<String, Object> paramMap) throws BaseException;
	
	public UserBean getUserById(String userId) throws BaseException;
	
	public List<BaseBean> getRoleByOrgId(Map<String, Object> paramMap) throws BaseException;
	
	public List<BaseBean> getRoleByMap(Map<String, Object> paramMap) throws BaseException;
	
	public void addUser(UserBean user)throws BaseException;
	
	public void editUser(UserBean user)throws BaseException;
	
	public void deleteUser(Map<String, Object> paramMap)throws BaseException;
	
	public Integer queryTemplateList(Map<String, Object> map)throws BaseException;
	
	public UserBean getUserByName(Map<String, Object> paramMap) throws BaseException;
	/**
	 * Author:shanzhitong
     * Create At:2010-06-29
     * Description: [用户管理-启动用户信息]
     * @return String
     */
	public void pauseUser(Map<String, Object> paramMap)throws BaseException;
	/**
	 * Author:shanzhitong
     * Create At:2010-06-29
     * Description: [用户管理-启动用户信息]
     * @return String
     */
	public void reStartUser(Map<String, Object> paramMap)throws BaseException;
	
	/**
	* Author:shanzhitong
	* Create At:2011-9-1
	* Description: [用户修改个人资料]
	* @return void
	*/
	public void savePresonInfo(UserBean userBean)throws BaseException;

	public Integer updatePassword(Map<String, Object> paramMap)throws BaseException;
	
	public Integer getUserEditCount(UserBean userBean) throws BaseException;
}
